package designpattern.proxy.saticpy;

/**
 * Proxy代理类
 *
 */
public class TeacherProxy implements AllTeacher {
    //声明教师接口的变量，为了接受后面要代理的对象
    private AllTeacher teacher;

    //通过构造函数得到被代理教师类的对象,以提供对被代理对象的引用
    public TeacherProxy(AllTeacher teacher) {
        this.teacher = teacher;
    }

    //在重写方法中调用被代理对象的方法（行为）从而进行代理
    @Override
    public void teach() {
        System.out.println("开始代理...");
        //做被代理老师的事情
        teacher.teach();
        System.out.println("代理结束...");
    }
}
